/**
 * 配置接口地址
 * 输出接口调用function
 * request.js为对uni-app自带的request的封装，功能较为局限
 * http.js为引用的lunch-request的封装，功能更齐全，使用有待研究
 * 此处为了方便切换两种接口封装方式
 */
import { requestGet, requestPost, requestUpload } from './request.js'

// 接口地址
const urlConfig = {
	// 更新用户信息
	getUserInfo: 'user/get',
	// 获取列表数据
	getDictList: 'dict/data', // 获取字典表中数据（licenseType:教练资格类型,refundType:退款原因类型）
	// 上传图片
	uploadImage: 'image/upload', // 上传图片
	// 地区接口
	getAreaList: 'area/get', // 获取省市区列表
	getAreaDetail: 'area/getDetail', // 获取区域详情
	// 短信验证码
	getMobileMsg: 'sms/send', // 发送短信验证码
	checkMobileMsg: 'sms/check', // 校验短信验证码
	// 微信登录
	wxLogin: 'customer/wx/login', // 用户登录
	// 首页
	advList: 'adv/list', // 获取首页广告位列表
	// 评价
	getEvaluateDetail: 'praise/getPraiseDetail', // 查看评价详情
	createEvaluate: 'praise/createPraise', // 短期课添加评价
	createClubEvaluate: 'praise/createClubPraise', // 添加俱乐部评价
	createCoachEvaluate: 'praise/createCoachPraise', // 添加教练评价
	// 积分
	getPoints: 'customer/points/get', // 获取个人积分
	getPointsRecords: 'consume/point/list', // 获取积分消费记录
	getRegisterPoint: 'point/getRegisterPoint', // 获取积分额度
	getActivityRuleDetail: 'activity/rule/get', // 获取活动规则相关
	queryPointInfo: 'point/queryPointInfo', // 获取活动规则相关
	// 会员
	getMyVipList: 'member/my/list', // 获取会员余额
	getClubVipCard: 'club/card/list', // 获取俱乐部下的打球卡
	getClubVipCardAll: 'club/card/list/all', // 获取俱乐部下的打球卡
	getVipDetail:'club/card/get', // 获取打球卡的详情
	getClubRecordsList: 'consume/card/list', // 获取在俱乐部的消费明细
	getByClubIdVip:'member/getByClubId',//获取打球卡下的余额
	getVipApprove: 'member/getApprove', // 判断用户是否为指定俱乐部的正式会员
	joinVip: 'member/join', // 用户主动加入会员
	getCouponDetail:'coupon/getCouponDetail',// 获取优惠券详情
	queryCouponList: 'coupon/queryCouponList', // 获取优惠券列表
	queryMyCouponList:'coupon/queryMyCouponList',//确认订单页获取卡券列表
	// 球员
	getPlayerList: 'player/list', // 获取球员列表
	getPlayerDetail: 'player/get', // 获取球员详情
	queryPlayerListByUser: 'player/queryPlayerListByUser', // 确认订单页获取球员列表（request.js里对此接口有特殊判断，修改时需要注意）
	getPlayerByUser: 'player/getPlayerByUser', // 确认订单页获取球员详情级别
	updatePlayer: 'player/update', // 编辑球员信息
	addPlayer: 'player/add', // 新增球员信息
	deletePlayer: 'player/delete', // 删除球员信息
	startStudentList:'playerStar/queryPlayerStarListByUser',//明星球员列表
	starStudentDetail:'playerStar/getPlayerStarByUser',//明星球员详情
	//支付
	unifiedOrder:'payment/unifiedOrder/',
	queryPayStatus:'payment/queryPayStatus/',//查询支付状态
	//下单
	createOrder:'order/createOrder',
	// 课程
	queryClassList: 'class/queryClassListToUser',//获取课程列表数据
	queryClassListToLike: 'class/queryClassListToLike',//猜您喜欢课程列表
	getClassDetailById: 'class/getClassDetailToUser', // 课程详情
	getClubPlaceDetail: 'club/place/get', // 获取俱乐部场馆详情
	getCoachDetailById: 'coach/get/detail', //通过教练ID获取教练信息
	getClassSolt:'reservation/queryClassSolt', //课程约课列表
	createReservationClass:'reservation/createReservationClass',//约课
	cancelReservationClass:'reservation/cancelReservationClass',//取消约课记录
	queryReservationClass: 'reservation/queryReservationClass', // 查询约课记录列表
	// 我的课程
	queryClassEnterList: 'class/queryClassEnterList', // 查询课程报名列表
	queryClassEnterByUser: 'class/queryClassEnterByUser', // 查询我的课程报名列表
	getClassEnter: 'class/getClassEnter', // 查询课程报名详情
	// 俱乐部
	getMyClubList: 'club/lately/list', // 获取我的俱乐部
	getClubList: 'club/list', // 俱乐部列表
	getClubDetail: 'club/get/detail', // 俱乐部详情
	//活动
	queryActiveList: 'act/queryActListToUser', // 查询活动列表
	queryActListToLike: 'act/queryActListToLike',// 猜您喜欢活动列表
	getActiveDetailById: 'act/getActDetailToUser', // 获取活动详情
	queryActEnterListToUser: 'act/queryActEnterListToUser', // 查询活动报名列表
	getApprove:'member/getApprove',//是否是正式会员/api/member/getApprove/{clubId}
	queryNoPayActOrder: 'order/queryNoPayActOrder', // 查询未支付的活动订单
	//积分
	queryPointList:'point/queryPointList',//获取积分列表
	// 我的活动
	queryActEnterList: 'act/queryActEnterList', // 查询活动报名列表
	queryActEnterDetail: 'act/getActEnter', // 查询活动报名详情
	// 订单管理
	getOrderCount: 'order/count/get', // 获取各状态订单数量
	queryOrderList: 'order/queryOrderList', // 查询订单列表
	getOrderDetail: 'order/getOrderDetailById', // 查询订单详情
	cancelOrder: 'order/cancelOrder', // 取消订单
	// 退款管理
	getRefundByOrderId: 'refund/getRefundByOrderId', // 根据订单id查询退款信息
	orderRefund: 'refund/orderRefund', // 取消订单报名并申请退款
	cancelRefund: 'refund/cancelRefund', // 取消退款
	confirmRefund: 'refund/confirmRefund', // 确认退款信息
	queryOrderRefundList: 'refund/queryOrderRefundList', // 查询退款列表
	getRefundById: 'refund/getRefundById', // 查询退款详情
	// 教练
	getCoachList: 'coach/list', // 获取教练列表
	getCoachDetail: 'coach/get/detail', // 获取教练详情
	// 生成页面小程序码
	getUnlimited: 'QRCode/getUnlimited', // 获取指定页面的小程序码
	// 自动约课设置相关
	queryResTemplateList: 'reservation/queryResTemplateList', // 查询约课模板记录
	saveResTemplate: 'reservation/saveResTemplate', // 保存约课模板记录
  updateAutoTimeTable: 'reservation/updateAutoTimeTable', // 开启/关闭自动约课
  // 赛事活动相关
  getGroupList: 'event/findActEventGroupsList', // 获取分组列表
  getSessionsList: 'event/queryActEventAgainstList', // 获取对阵场次列表
  getRankStepList: 'event/queryActEventScheduleList', // 获取赛程步骤列表
  getGroupScoreList: 'event/queryActEventScoreList', // 获取赛程队伍列表
  checkScore: 'event/checkScore', // 是否可以点击下一步
  recordScore: 'event/recordScore', // 裁判录分
  goNext: 'event/game/next', // 分组，开始比赛，进行下轮比赛
  getTotalRanking: 'event/queryActEventSortList', // 查询比赛总排名
	updateAutoTimeTable: 'reservation/updateAutoTimeTable', // 开启/关闭自动约课
  queryActEventGroupsList: 'event/queryActEventGroupsList', // 获取分组列表
  queryActEventTeamList:'event/queryActEventTeamList',//队伍列表
}

export default {
	// 获取用户基本信息
	getUserInfo: (param) => {
		return requestGet(urlConfig.getUserInfo, param)
	},
	// -----------获取字典表中数据-----------
	// licenseType: 教练资格类型
	getDictList: (param, type) => {
		return requestGet(urlConfig.getDictList + '/' + type, param)
	},
	
	// ----------微信登录-----------
	wxLogin: (param) => {
		return requestPost(urlConfig.wxLogin, param)
	},
	
	// -----------首页-------------
	// 获取广告位列表
	advList: (param) => {
		return requestGet(urlConfig.advList, param)
	},
	
	// ----------上传图片-----------
	uploadImage: (param) => {
		return requestUpload(urlConfig.uploadImage, param)
	},
	
	// ----------地区接口---------
	// 获取省市区列表 查询省份列表传0
	getAreaList: (param, code = '0') => {
		return requestGet(urlConfig.getAreaList + '/' + code, param)
	},
	// 获取区域详情
	getAreaDetail: (param, code = '0') => {
		return requestGet(urlConfig.getAreaDetail + '/' + code, param)
	},
	
	// -------------------评价--------------------
	// 查看评价详情
	getEvaluateDetail: (param) => {
		return requestPost(urlConfig.getEvaluateDetail, param)
	},
	// 添加短期课评价
	createEvaluate: (param) => {
		return requestPost(urlConfig.createEvaluate, param)
	},
	// 添加俱乐部评价
	createClubEvaluate: (param) => {
		return requestPost(urlConfig.createClubEvaluate, param)
	},
	// 添加教练评价
	createCoachEvaluate: (param) => {
		return requestPost(urlConfig.createCoachEvaluate, param)
	},
	
	// -------------------积分--------------------
	// 获取总积分
	getPoints: (param) => {
		return requestGet(urlConfig.getPoints, param)
	},
	// 获取积分消费记录
	getPointsRecords:(param) => {
		return requestPost(urlConfig.getPointsRecords, param)
	},
	// 获取积分额度
	getRegisterPoint:(param, type) => {
		return requestGet(urlConfig.getRegisterPoint + '/' + type, param)
	},
	// 获取活动规则相关
	getActivityRuleDetail:(param, id = 1) => {
		return requestGet(urlConfig.getActivityRuleDetail + '/' + id, param)
	},
	//商品信息积分数
	queryPointInfo:(param) => {
		return requestPost(urlConfig.queryPointInfo, param)
	},
	// -------------------会员---------------------
	// 获取会员余额
	getMyVipList: (param) => {
		return requestGet(urlConfig.getMyVipList, param)
	},
	// 获取俱乐部下的打球卡
	getClubVipCard: (param, clubId) => {
		return requestGet(urlConfig.getClubVipCard + '/' + clubId, param)
	},
	// 获取所有的打球卡
	getClubVipCardAll: (param) => {
		return requestGet(urlConfig.getClubVipCardAll, param)
	},
	// 获取打球卡详情
	getVipDetail: (param, Id) => {
		return requestGet(urlConfig.getVipDetail + '/' + Id, param)
	},
	// 获取在俱乐部的消费明细
	getClubRecordsList: (param) => {
		return requestPost(urlConfig.getClubRecordsList, param)
	},
	// 获取在俱乐部下的余额
	getByClubIdVip: (param, clubId) => {
		return requestGet(urlConfig.getByClubIdVip + '/' + clubId, param)
	},
	// 判断用户是否为指定俱乐部的正式会员
	getVipApprove: (param, clubId) => {
		return requestGet(urlConfig.getVipApprove + '/' + clubId, param)
	},
	// 用户主动加入会员
	joinVip: (param) => {
		return requestPost(urlConfig.joinVip, param)
  },
	// --------------------卡券-----------------------
	// 获取优惠券列表
	queryCouponList: (param) => {
		return requestPost(urlConfig.queryCouponList, param)
	},
	// 获取优惠券详情--
	getCouponDetail: (param, couponId) => {
		return requestGet(urlConfig.getCouponDetail + '/' + couponId +'/', param)
	},
	//确认订单页获取卡券列表
	queryMyCouponList: (param) => {
		return requestPost(urlConfig.queryMyCouponList, param)
	},
	// --------------------球员-----------------------
	//确认订单页获取球员列表
	queryPlayerListByUser: (param) => {
		return requestPost(urlConfig.queryPlayerListByUser, param)
	},
	//确认订单页选择球员详情
	getPlayerByUser: (param) => {
		return requestPost(urlConfig.getPlayerByUser, param)
	},
	// 获取球员列表
	getPlayerList: (param) => {
		return requestGet(urlConfig.getPlayerList, param)
	},
	// 获取球员详情
	getPlayerDetail: (param, id) => {
		return requestGet(urlConfig.getPlayerDetail + '/' + id, param)
	},
	// 编辑球员信息
	updatePlayer: (param) => {
		return requestPost(urlConfig.updatePlayer, param)
	},
	// 新增球员信息
	addPlayer: (param) => {
		return requestPost(urlConfig.addPlayer, param)
	},
	// 删除球员详情
	deletePlayer: (param, id) => {
		return requestGet(urlConfig.deletePlayer + '/' + id, param)
	},
	// 明星球员列表
	startStudentList: (param) => {
		return requestPost(urlConfig.startStudentList, param)
	},
	// 明星球员详情
	starStudentDetail: (param) => {
		return requestPost(urlConfig.starStudentDetail, param)
	},
	// --------------------支付-------------------------
	unifiedOrder: (param) => {
		return requestPost(urlConfig.unifiedOrder, param)
	},
	queryPayStatus: (param, id) => {
		return requestGet(urlConfig.queryPayStatus  + id + '/', param)
	},
	// --------------------下单-------------------------
	createOrder: (param) => {
		return requestPost(urlConfig.createOrder, param)
	},

	// --------------------课程-------------------------
	// 查询课程列表
	queryClassList: (param) => {
		return requestPost(urlConfig.queryClassList, param)
	},
	// 猜您喜欢课程列表
	queryClassListToLike: (param) => {
		return requestPost(urlConfig.queryClassListToLike, param)
	},
	// 查询课程列表
	queryClassListToUser: (param) => {
		return requestPost(urlConfig.queryClassListToUser, param)
	},
	// 查询课程约课时间列表
	getClassSolt: (param) => {
		return requestPost(urlConfig.getClassSolt, param)
	},
	// 约课
	createReservationClass: (param) => {
		return requestPost(urlConfig.createReservationClass, param)
	},
	// 取消约课记录
	cancelReservationClass: (param) => {
		return requestPost(urlConfig.cancelReservationClass, param)
	},
	// 查询约课记录列表
	queryReservationClass: (param) => {
		return requestPost(urlConfig.queryReservationClass, param)
	},
	// 查看课程详情
	getClassDetailById: (param, id) => {
		return requestGet(urlConfig.getClassDetailById + '/' + id + '/', param)
	},
	// 获取俱乐部场馆信息
	getClubPlaceDetail: (param, id) => {
		return requestGet(urlConfig.getClubPlaceDetail + '/' +id, param)
	},
	// 通过教练ID获取教练信息
	getCoachDetailById: (param, type) => {
		return requestGet(urlConfig.getCoachDetailById+ '/'+ type , param)
	},
	
	// ----------------------我的课程--------------------
	// 查询课程报名列表
	queryClassEnterList: (param) => {
		return requestPost(urlConfig.queryClassEnterList, param)
	},
	// 查询我的课程报名列表
	queryClassEnterByUser: (param) => {
		return requestPost(urlConfig.queryClassEnterByUser, param)
	},
	// 查询课程报名详情
	getClassEnter: (param, id) => {
		return requestGet(urlConfig.getClassEnter + '/' + id + '/', param)
	},
	
	// ----------------------活动------------------------
	// 查询活动列表
	queryActiveList: (param) => {
		return requestPost(urlConfig.queryActiveList, param)
	},
	// 猜您喜欢活动列表
	queryActListToLike: (param) => {
		return requestPost(urlConfig.queryActListToLike, param)
	},
	// 查询活动列表
	queryActListToUser: (param) => {
		return requestPost(urlConfig.queryActListToUser, param)
	},
	// 查看活动详情
	getActiveDetailById: (param, id) => {
		return requestGet(urlConfig.getActiveDetailById + '/' + id +'/', param)
	},
	// 判断是否是正式会员
	getApprove: (param, clubId) => {
		return requestGet(urlConfig.getApprove + '/' + clubId, param)
	},
	// 查询未支付的活动订单
	queryNoPayActOrder: (param, actId) => {
		return requestGet(urlConfig.queryNoPayActOrder + '/' + actId, param)
	},
	// 查询活动报名列表
	queryActEnterListToUser: (param) => {
		return requestPost(urlConfig.queryActEnterListToUser, param)
	},
	// ---------------------积分---------------------
	// 积分列表
	queryPointList: (param) => {
		return requestPost(urlConfig.queryPointList, param)
	},
	
	// ---------------------我的活动---------------------
	// 查询活动报名列表
	queryActEnterList: (param) => {
		return requestPost(urlConfig.queryActEnterList, param)
	},
	// 查询活动报名详情
	queryActEnterDetail: (param, id) => {
		return requestGet(urlConfig.queryActEnterDetail + '/' + id + '/', param)
	},
	// ----------------------俱乐部----------------------
	// 我的俱乐部列表
	getMyClubList: (param) => {
		return requestPost(urlConfig.getMyClubList, param)
	},
	// 热门推荐俱乐部列表
	getClubList: (param) => {
		return requestPost(urlConfig.getClubList, param)
	},
	// 热门推荐俱乐部详情
	getClubDetail: (param, id) => {
		return requestGet(urlConfig.getClubDetail + '/' + id +'/', param)
	},
	
	// ----------------------订单管理---------------------
	// 获取各状态订单数量
	getOrderCount: (param) => {
		return requestGet(urlConfig.getOrderCount, param)
	},
	// 查询订单列表
	queryOrderList: (param) => {
		return requestPost(urlConfig.queryOrderList, param)
	},
	// 查询订单详情
	getOrderDetail: (param, id) => {
		return requestGet(urlConfig.getOrderDetail + '/' + id + '/', param)
	},
	// 取消订单
	cancelOrder: (param, id) => {
		return requestGet(urlConfig.cancelOrder + '/' + id + '/', param)
	},
	
	// ------------------------退款管理--------------------
	// 根据订单id查询退款信息
	getRefundByOrderId: (param, id) => {
		return requestGet(urlConfig.getRefundByOrderId + '/' + id + '/', param)
	},
	// 取消订单报名并申请退款
	orderRefund: (param) => {
		return requestPost(urlConfig.orderRefund, param)
	},
	// 取消退款
	cancelRefund: (param, id) => {
		return requestGet(urlConfig.cancelRefund + '/' + id + '/', param)
	},
	// 确认退款信息
	confirmRefund: (param, id) => {
		return requestGet(urlConfig.confirmRefund + '/' + id + '/', param)
	},
	// 查询退款列表
	queryOrderRefundList: (param) => {
		return requestPost(urlConfig.queryOrderRefundList, param)
	},
	// 查询退款详情
	getRefundById: (param, id) => {
		return requestGet(urlConfig.getRefundById + '/' + id +  '/', param)
	},
	
	// -----------------------教练信息-------------------
	// 获取教练列表
	getCoachList: (param) => {
		return requestPost(urlConfig.getCoachList, param)
	},
	// 获取教练详情
	getCoachDetail: (param, id) => {
		return requestGet(urlConfig.getCoachDetail + '/' + id + '/', param)
	},
	
	// ----------------------获取小程序码------------------
	// 获取指定页面的小程序码
	/**
	 * param{
		 page:页面地址，例如'pages/index/index'
		 scene:query参数，例如a=1&b=2
		 sideType:二维码类型，1.C端，2.B端
		 width:二维码宽度，单位px，280-1280
	 }
	 */
	getUnlimited: (param) => {
		return requestPost(urlConfig.getUnlimited, param)
	},
	
	// ----------------------自动约课设置相关--------------------
	// 查询约课模板记录
	queryResTemplateList: (param) => {
		return requestPost(urlConfig.queryResTemplateList, param)
	},
	// 保存约课模板记录
	saveResTemplate: (param) => {
		return requestPost(urlConfig.saveResTemplate, param)
	},
	// 开启/关闭自动约课
	updateAutoTimeTable: (param) => {
		return requestPost(urlConfig.updateAutoTimeTable, param)
  },
  
  


  // ---------------------------赛事活动相关--------------------------------
  // 获取分组列表
	getGroupList: (param) => {
	  return requestPost(urlConfig.getGroupList, param)
  },
  // 获取对阵场次列表
	getSessionsList: (param) => {
	  return requestPost(urlConfig.getSessionsList, param)
  },
  // 获取赛程步骤列表
	getRankStepList: (param) => {
	  return requestPost(urlConfig.getRankStepList, param)
  },
  // 获取赛程队伍列表
	getGroupScoreList: (param) => {
	  return requestPost(urlConfig.getGroupScoreList, param)
  },
  // 获取赛程总排名
  getTotalRanking: (param) => {
    return requestPost(urlConfig.getTotalRanking, param)
  },
	 // 获取分组列表有队员信息
	 queryActEventGroupsList: (param) => {
	  return requestPost(urlConfig.queryActEventGroupsList, param)
	},
	// 队伍列表
	queryActEventTeamList: (param) => {
	  return requestPost(urlConfig.queryActEventTeamList, param)
	},
}